package day09;

import org.w3c.dom.ls.LSOutput;

//此类是用于验证super的测试
public class Tes03 {
    public static void main(String[] args) {
        Son s = new Son();   //也可以new Son().study():
        s.study();
        new GrandChild().grandSum();   //调用父类的成员变量，如果父类没有就调用爷爷类的成员变量

    }
}
//1创建一个Father类
class Father{
    //3创建父类的成员变量
    int sum = 1;
    int count = 2;

}

//2创建一个son类，要求继承Father类
class Son extends Father{
    //4.创建子类的成员变量
    int age = 19;
    int sum = 10;
    public void study(){
        int sum = 100;
        System.out.println("好好学习，天天向上");
        System.out.println(sum);           //输出100，调用的是局部变量就近原则
        System.out.println(this.sum);     //输出10，调用本类的成员变量
        System.out.println(super.sum);    //输出1，父类的成员变量
        //输出成员变量count的值，他因为count变量没有在当前变量中定义，所以继承的父类的count值
        //当子类和父类出现同名变量才会使用this和super区分
        System.out.println(count);
    }
}

//再家一个grandchild的子类，他的父类是son
class GrandChild extends Son{
    public void grandSum(){
        System.out.println(super.sum);   //输出son的成员变量，因为super是调用父亲的成员变量，
    }
}